﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;


//using Biblioteca; //referencia para a biblioteca de Classes

using Biblioteca;

using Biblioteca.Controlador;
using Biblioteca.Model;
using System.Data;


namespace WebService1
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]

    public class Service1 : System.Web.Services.WebService
    {

        ControladorCliente control_cli = new ControladorCliente();

        ControladorRepresentada control_repre = new ControladorRepresentada();


        ControladorPedido contro_pedido = new ControladorPedido();

        #region Cliente

        [WebMethod]
        public void Incluir_Cli(Cliente cli)
        {
            try
            {
                control_cli.validar(cli);
                control_cli.incluir(cli);

            }
            catch (Exception e)
            {

                throw e;
            }


        }

        [WebMethod]
        public void alterar_Cli(Cliente cli)
        {
            try
            {
                control_cli.validar(cli);
                control_cli.alterar(cli);

            }
            catch (Exception e)
            {

                throw e;
            }


        }

        [WebMethod]
        public void excluir_Cli(Cliente cli)
        {
            try
            {
                

                    control_cli.excluir(cli);
                
            }
            catch (Exception e)
            {

                throw e;
            }


        }


        [WebMethod]
        public Boolean verificar(Cliente cli)
        {
            try
            {
                
                return control_cli.verificar(cli);

            }
            catch (Exception e)
            {

                throw e;
            }


        }



        [WebMethod]
        public List<Cliente> listar_Cli()
        {

            try
            {


                return control_cli.listar();

            }
            catch (Exception e)
            {

                throw e;
            }

        }


        [WebMethod]
        public List<Cliente> pesquisar_CliRazao(string nome)
        {
            try
            {

                return control_cli.pesquisarRazao(nome);

            }
            catch (Exception e)
            {

                throw e;
            }

        }

        [WebMethod]
        public List<Cliente> pesquisar_CliCnpj(string cnpj)
        {
            try
            {
                return control_cli.pesquisarCnpj(cnpj);
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        [WebMethod]
        public bool Consultar_Cnpj(Cliente cli)
        {
            try
            {

                return control_cli.consultar_CNPJCliente(cli);

            }
            catch (Exception e)
            {

                throw e;
            }

        }
        #endregion


        #region Representada

        [WebMethod]
        public List<Representada> listar_repre()
        {
            try
            {
                return control_repre.listar();
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        [WebMethod]
        public void Incluir_repre(Representada repre)
        {
            try
            {
                control_repre.incluir(repre);
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        [WebMethod]
        public void excluir_repre(Representada repre)
        {
            try
            {
                control_repre.excluir(repre);
            }
            catch (Exception e)
            {
                throw e;
            }
        }

        [WebMethod]
        public bool Consultar_CnpjRepre(Representada repre)
        {
            try
            {
                return control_repre.consultar_CNPJRepresentada(repre);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        #endregion

        [WebMethod]
        public List<Pedido> listar_pedido()
        {
            try
            {
                return contro_pedido.listar();
            }
            catch (Exception e)
            {
                throw e;
            }
        }


        [WebMethod]
        public void alterar_pedido(Pedido ped) {
            try
            {

                contro_pedido.alterar(ped);
            }
            catch (Exception e)
            {
                
                throw e;
            }
        
        
        }



    }
}